/**   
 * All rights Reserved, Designed By MiGu  
 * Copyright:    Copyright(C) 2016-2020  
 * Company       MiGu  Co., Ltd.
*/
package com.migu.spms.service.inf;

import java.util.List;

import com.migu.spms.dao.entity.RequireTypeTreeCriteria;
import com.migu.spms.dao.entity.RequireTypeTreeDO;
import com.migu.spms.service.data.User;
import com.migu.spms.webapi.data.GetTypeTreeRequest;
import com.migu.spms.webapi.data.MoveRequireTypeTreeRequest;
import com.migu.spms.webapi.data.RequireTypeTreeRequest;

/**   
 * IRequireTypeTreeService类
 * 项目名称:  SPMS功能需求
 * 包名称:    com.migu.spms.service.inf   
 * 类名称:    IRequireTypeTreeService.java
 * 类描述:    
 * 创建人:    wcr   
 * 创建时间:  2017年6月19日 上午9:53:13   
 */
public interface IRequireTypeTreeService {

    /**
    * 获取分类列表
     * @param msg 
    * @return
    * @throws Exception
    * @exception
    * @throws
    */
    List<RequireTypeTreeDO> selectRequireTypeTreeList(GetTypeTreeRequest typeTreeRequest) throws Exception;

    /**
    * 创建分类
    * @param criteria
    * @throws Exception
    * @exception
    * @throws
    */
    void insertRequireTypeTree(RequireTypeTreeRequest res, User user) throws Exception;

    /**
    * 删除分类
    * @throws Exception
    * @exception
    * @throws
    */
    void deleteRequireTypeTree(RequireTypeTreeRequest res) throws Exception;

    /**
    * 修改分类
    * @param criteria
    * @throws Exception
    * @exception
    * @throws
    */
    void updateRequireTypeTree(RequireTypeTreeCriteria criteria) throws Exception;

    /**
    * 移动分类
    * @param res
    * @param user
    * @exception
    * @throws
    */
    void moveTypeTreeByRequire(MoveRequireTypeTreeRequest res, User user) throws Exception;

}
